package org.ehe.erp.domain.product.bo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.ehe.common.core.validate.AddGroup;
import org.ehe.common.core.validate.EditGroup;
import org.ehe.common.mybatis.core.domain.BaseEntity2;
import org.ehe.erp.domain.product.ErpProductArrival;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * @author :zhangnn
 * @className :ErpProductArrivalBo
 * @description: TODO
 * @date 2025-08-19 09:11:50
 */
@Data
@AutoMapper(target = ErpProductArrival.class, reverseConvertGenerate = false)
public class ErpProductArrivalBo extends BaseEntity2 {
    /**
     * 产品编号
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 付款单号
     */
    @NotNull(message = "付款单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String no;

    /**
     * 批次ID，关联erp_batch_info表id
     */
    private Long batchId;

    /**
     * 批次名称
     */
    //@NotNull(message = "批次名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String batchName;

    /**
     * 状态
     */
    @NotNull(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer status;

    /**
     * 到货时间
     */
    @NotNull(message = "到货时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private LocalDateTime deliveryTime;

    /**
     * 实际到货时间
     */
    private LocalDateTime actualDeliveryTime;

    /**
     * 供应商编号
     */
    //@NotNull(message = "供应商编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long supplierId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建部门
     */
    private Long createDept;

    public Map<String, Object> params;

}
